package JieBa

import (
	"github.com/yanyiwu/gojieba"
)

var (
	engine *gojieba.Jieba
)

// InitEngine 新建一个引擎
// 注意1：gojieba使用的是C++实现的包装，所以实际上不支持交叉编译，Linux需要在linux环境下进行编译
// 注意2：paths是dist文件路径，它不支持中文路径，
func InitEngine(paths ...string) {
	engine = gojieba.NewJieba(paths...)
}

func GetEngine() *gojieba.Jieba {
	return engine
}

// Cut 分词
func Cut(text string) []string {
	return engine.Cut(text, true)
}

// ExtractWithWeight 关键词
// topk 保留多少个权重最大的关键词
func ExtractWithWeight(text string, topk int) []gojieba.WordWeight {
	return engine.ExtractWithWeight(text, topk)
}
func Extract(text string, topk int) []string {
	return engine.Extract(text, topk)
}
